import Vue from 'vue'
import web3 from 'web3'
Vue.filter('filterAddress', (value) => {
    if (value != null) {
        return value.slice(0, 11) + '...' + value.substr(-4, 4)
    }
}, )

Vue.filter('ipfsHash', (value) => {
    return 'http://172.17.147.23:8888/ipfs/' + value
})

Vue.filter('weiToEth', (value) => {
    return web3.utils.fromWei(value.toString(), 'ether')
})



// 日期格式化
Vue.filter('formatDate', function (value, fmt) {
    let getDate = new Date(value);
    let o = {
        'M+': getDate.getMonth() + 1,
        'd+': getDate.getDate(),
        'h+': getDate.getHours(),
        'm+': getDate.getMinutes(),
        's+': getDate.getSeconds(),
        'q+': Math.floor((getDate.getMonth() + 3) / 3),
        'S': getDate.getMilliseconds()
    };
    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (getDate.getFullYear() + '').substr(4 - RegExp.$1.length))
    }
    for (let k in o) {
        if (new RegExp('(' + k + ')').test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
        }
    }
    return fmt;
})



/**
 * 按数字大小转换为 万 或者 亿 为单位的数字
 */
Vue.filter('NumToUnitNum', function (value) {
    if (!value) return '0'
    if (value > 100000000 || value < -100000000) {
        return Number(value / 100000000).toFixed(1)
    } else if (value > 10000 || value < -10000) {
        return Number(value / 10000).toFixed(1)
    } else {
        return Number(value)
    }
})

/**
 * 通过数字获取到数字转换后的单位
 */
Vue.filter('GetUnit', function (value) {
    if (!value) " "
    value = Math.abs(value)
    if (value > 100000000) {
        return "亿"
    } else if (value > 10000) {
        return "万"
    }
})